package com.reliable.service.domain;

import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;

/**
 * 导出推送记录对象 reliable_export_push_record
 *
 * @author ruoyi
 * @date 2025-10-30
 */
@Data
@ApiModel(value = "导出推送记录对象")
@JsonInclude(JsonInclude.Include.NON_NULL)
public class ReliableExportPushRecord extends BaseEntitys {
    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    @ApiModelProperty(value = "主键ID", position = 0)
    private Long id;

    /**
     * 关联 reliable_export_record.id
     */
    @ApiModelProperty(value = "关联 reliable_export_record.id", position = 1)
    private Long exportRecordId;

    /**
     * 推送渠道：wechat/email/ftp/api_a 等
     */
    @ApiModelProperty(value = "推送渠道：wechat/email/ftp/api_a 等", position = 2)
    private String channel;

    /**
     * 城市名称，如 北京市
     */
    @ApiModelProperty(value = "城市名称，如 北京市", position = 3)
    private String city;

    /**
     * 公司或部门名称，如 财务部、XX科技有限公司
     */
    @ApiModelProperty(value = "公司或部门名称，如 财务部、XX科技有限公司", position = 4)
    private String department;

    /**
     * 推送状态：1=处理中, 2=成功, 3=失败, 4=部分成功
     */
    @ApiModelProperty(value = "推送状态：1=处理中, 2=成功, 3=失败, 4=部分成功", position = 5)
    private Integer pushStatus;

    /**
     * 实际推送时间
     */
    @ApiModelProperty(value = "实际推送时间", position = 6)
    private Date pushTime;

    /**
     * 重试次数
     */
    @ApiModelProperty(value = "重试次数", position = 7)
    private Integer retryCount;

    /**
     * 推送数据条数
     */
    @ApiModelProperty(value = "推送数据条数", position = 8)
    private Integer recordCount;

    /**
     * 错误信息
     */
    @ApiModelProperty(value = "错误信息", position = 9)
    private String errorMessage;

    /**
     * 文件路径
     */
    @ApiModelProperty(value = "文件路径", position = 10)
    private String filePath;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间", position = 11)
    private Date createTime;

    /**
     * 更新时间
     */
    @ApiModelProperty(value = "更新时间", position = 12)
    private Date updateTime;
}